Making a telephone call generally involves two kinds of channels for communicating information: a voice channel for carrying representations of audio signals between the telephones (or data signals represented using voice signals between computers) and a signal channel which carries the signaling messages needed to perform operations on the voice channel. Examples of such operations include setting up the voice channel at the beginning of the telephone call, taking it down at the end of the telephone call, providing special services such as call forwarding and 3-way calling, and in the case of mobile telephony, handing off a call as the mobile station moves from one cell to another. In order for the devices in the telephone network that provide and respond to the signaling information to work correctly, the signaling messages must conform to a protocol, that is, an exact description of the form and meaning of each of the signaling messages and of the ways in which the signaling messages may be combined to cause the telephone network to carry out its operations. The voice channel and the signaling channel may employ different physical channels or they may employ the same physical channel, as for example is the case in digital systems, where information is carried in packets and the information in the packet may either be a representation of the audio information or a signaling message.
FIG. 1 shows these channels in the context of a cellular telephony system 101. Only the portion of system 101 relevant to the present discussion is shown in the figure. In FIG. 101, voice channels 105 are represented by solid lines and signaling channels are represented by dashed lines. In system 101, a mobile switching center 107, which is the interface between the wireless system and the wired system, is connected by a number of trunks 106 to other mobile switching centers 107 or standard wired telephone switches. Included in trunks 106 are voice channels and signaling channels. Mobile switching center 107 is further connected by voice channels and signaling channels to a number of base stations. Base stations provide voice and signaling channels 114 for mobile telephone stations. In the system shown in FIG. 1, each base station consists of two parts: a BS(CE) 109 and one or more base stations BS(CE) 111(0 . . . n) that are controlled by the BS(CC) 109. In FIG. 1, only the BS(CE)s belonging to BS(CC) 109(0) are shown. Each BS(CE) 111 is located in a geographical area termed a cell 115. BS(CE)s 111 include radio transmitters and receivers which they use to provide voice channels and signaling channels 114 for mobile telephone stations 113(0 . . . o) that are currently within cell 115. In the system of FIG. 1, BS(CC)s 109(0 . . . m), connect the BS(CE) they control via voice channels and signaling channels to mobile switching center 107. In other configurations, the base stations that include the radio transmitters and receivers may be connected directly to mobile switching center 107. Of course, the mobile telephone station may be any device which communicates by means of mobile telephony protocols.
When a mobile station 113(i) is the source of a telephone call, it is said to originate the call. Originating mobile station 113(i) uses the signaling channel of 114 to send a message which informs base station 111(j) of its need to initiate a telephone call, of its own identity, and of the number of the telephone it wishes to call. Base station 111(j) passes the request to make a call and the identification via base station controller 109(k) to mobile switching center 107, which uses the signaling channels between mobile switching center 107 and the switch to which the called telephone is attached to send call set up signaling messages to the latter switch. These messages obtain the voice channels between the switches that are necessary for the call, and each switch sets up the voice channels that are needed between the switch and the telephone.
When a mobile station 113(i) is the destination of a telephone call, it is said to terminate the call. A data base in mobile telephone system 101 keeps track of the current location of each active mobile station 113 in telephone system 101. The call may come either from another mobile station or from an ordinary telephone. In either case, when it reaches mobile telephone system 101, a MSC 107(r) queries the data base and determines that terminating mobile station 113(i) is currently reachable via MSC 107(r). MSC 107(r) responds to the call set up message by sending signaling messages via BSC 109(k) and BS 111(j) to mobile station 113(i) as required to terminate the call at mobile station 113(i). Once the voice channels are set up, the call may proceed. When the call is finished, signaling messages must similarly be exchanged among the component of system 101 to take down the call, that is, to make the voice channels used by the call available for use by other calls.
In system 101, there are protocols for the signaling messages exchanged by different kinds of components. The protocol for the signaling messages defines the interface between the two kinds of components. For example, the interface between a MSC 107 and its base stations 111 is termed the A interface, shown at 108 in FIG. 1. Since there are BSCs 109 in the configuration of system 101, the A interface is between MSC 107 and BSC 109. Different MSCs 107 may have different A interfaces, as may different base stations, but a given MSC 107 will only work with a base station that has the same A interface, that is, that uses the signaling protocol that MSC 107 expects it to use. The same is true with regard to the other interfaces in system 101. The requirement that components that signal each other employ the same signaling protocol severely limits the ability of builders of telephone networks to combine equipment as they wish, and thereby to achieve the best possible cost and performance tradeoffs.
What is needed if components that use different signaling protocols are to be combined at an interface such as interface A in system 101 is techniques for converting sequences of messages belonging to one of the protocols to equivalent sequences of messages belonging to another one of the protocols. Such conversion is well known in the computer arts, where it is used for example in bridges, devices which connect data networks that use different protocols for data packets and translate data packets that conform to the protocol required for one kind of network into data packets that conform to the protocol required for another kind of network.
Unfortunately, the protocol translation techniques developed in the computer arts cannot be applied directly to telephone signaling protocols. The reasons for this include the following:
telephone networks are generally more complex than computer networks; PA1 telephone networks employ separate voice and signaling channels; and PA1 voice communications are subject to stringent real-time constraints.
The greater complexity of telephone networks is due first to the fact that a telephone network communicates between telephones, which are comparatively "dumb" devices, while a data network communicates between computers, which are comparatively "smart" devices. Thus, designers of computer networks can keep their communications protocols, and accordingly, their routing and switching devices, very simple, can build complex protocols on top of the communications protocols, and can use the processing power of the computers to deal with the complex protocols. Designers of telephone networks, on the other hand, must build the processing power that is lacking in the telephones into their networks. A modern telephone network can in fact be understood as a very large distributed computer system that is required to be highly fault-tolerant and to operate within stringent real-time constraints. Operation of this very large distributed computer system is coordinated by the signaling protocols, which thus must perform functions that in a data network are performed by separate low-level communications protocols, higher-level messaging protocols, and the operating systems of the computers connected to the network.
As far as is known, where telephone protocols have been translated, it has been done at the level of the switch. For example, J. Lantto, U.S. Pat. No. 5,610,974, Method and arrangement for handling a mobile telephone subscriber administered in different mobile telephone networks with a common call number, issued Mar. 11,97, deals with some of the problems that arise when a mobile station roams from a mobile telephone system that operates according to one kind of standard into a mobile telephone system that operates according to another kind of standard. The problems that are addressed in the patent are those of making information such as the mobile station's telephone number and the kinds of special services that are to be provided to it available across both systems. The approach taken in the patent is to set up a switch and database which is accessible to both systems and which appears to each system to be a switch and data base in that system. In this arrangement, the switch must of course be able to respond correctly to the protocols used in both systems. The "translation" disclosed in Lantto is in fact extremely limited, since what the arrangement actually does is respond to a protocol that sets a value in the data base in one system by setting the value in its data base and respond to a protocol in the other system that reads the value from a data base by reading the value from its data base.
While modern telephone switches have sufficient computational power to do protocol translation, there are good reasons for doing the protocol translation in devices other than switches. One is that the switch is the most expensive device in a telephone system. Protocol translation at A interface 108, for example, is not economical if the solution of Lantto is employed and an additional switch is inserted at A interface 108 in system 101. Another is the complexity of the switches. If MSC 107 in system 101 is implemented using a modem switch such as the 5ESS.RTM. central office switch manufactured by Lucent Technologies, the switch can be programmed to deal with more than one A interface 108. There are several problems with doing this. One is that the switch is a complex device, and writing code for it is inherently different. Another is that a switch such as the 5ESS contains between 5 and 7 million lines of code, and any change made anywhere in the code can have effects elsewhere. This not only further increases the difficulty of writing the code, but enormously increases the time and effort involved in testing it. Finally, even the utmost care in writing and testing cannot eliminate all bugs in the code, and a bug in the switch code can result not just in a failure at A interface 108, but a failure of the entire switch.
It is thus an object of the invention disclosed herein to overcome the problems for protocol translation posed by the complexity of telephone signaling protocols and thereby to permit construction of devices and methods that permit translation of signaling protocols in devices other than switches, and which thereby provide a low-cost and convenient way of combining components that employ different signaling protocols in a single telephone system.